昨天裝好了kubernetes後要面臨幾個問題,k8s是非常好的container管理平台,但是要怎麼讓他的狀態可視化、易操作管理以及佈署服務,這件事情將透過五個面向處理(註:2.3.4可併稱Observability
)
今天會講述如何透過rancher來讓管理kubernetes變得容易,rancher是一個可以納管多套kubernetes的平台,可以透過rancher觀察受管理的k8s的狀態及資源的使用,甚至有部分的常用服務也可以透過rancher直接部署,並且rancher可以結合其他auth機制進行管理(AD、oauth、keycloak、freeIPA等等...),使用rancher後也不需要擔心如果rancher主機異常會影響到k8s cluster。
rancher本身提供了三種方法安裝
透過docker佈建rancher服務的方法僅需要下載rancher/rancher:latest後用這個image執行
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:latest
即可透過這台主機的IP:80 連到rancher的頁面,第一次登入會需要設定帳號密碼和url,如果有需要掛載憑證的話其實也不困難,接著進入rancher的頁面如下,使用add cluster就可以輕鬆的納管k8s cluster囉。
納管k8s cluster後可以可以透過rancher的介面觀察resource的狀態,如下
這個介面看起來很像是openshift的感覺吧,可以清楚地看到資源用量和各項resources,並且也可以透過下面的安裝方式快速的安裝像是istio、monitoring、OPA的服務,接著就透過這個介面安裝完成幾個比較複雜的工作(istio、opa、prometheus-operater)。
rancher在安裝這些套件時其實是透過helm的方式進行佈建,所以選定了要用的版本之後,未來在新的cluster也可以做到一模一樣的佈署結果,這件事情從day2至今一直都是我想表達的,無論用terraform、ansible、rancher 的helm,將所有的結果一致化來讓管理變得更容易。